A host bus adapter (a.k.a., host controller or host adapter) connects a host system (the computer) to other network and storage devices. A host bus adapter (HBA) bridges the physical, logical, and protocol differences between the host computer's internal bus and an external communication link(s). Host bus adapters may typically contain all the electronics and firmware required to execute transactions on the external communication link. Host bus adapters may typically contain a processor, memory, and I/O such that they may be viewed as computers themselves. Thus, host bus adapters often include a firmware that not only allows the host system to boot from a device connected to the external communication link, but also facilitates configuration of the host bus adapter itself. Typically a device driver, linked to, or contained in, the operating system, controls a host bus adapter.